The disclosure generally relates to the field of storage systems, and more particularly to facilitating operations associated with a storage system.
Storage systems can include a variety of components, such as storage controllers, storage devices, etc. The components can vary greatly between different storage systems. Further, components can be added to existing storage systems or existing components may be replaced by different components. Even when components of a storage system are similar, functionality may not be consistent across the components. For example, two different storage devices may support different functionality based on when they were respectively released, what version firmware each has, etc.
Even when components support standard protocols, various manufacturers may include additional functionality that extends the standard protocols. Further, protocols may be specified at a high level, allowing the low level implementation to vary. Thus, when designing components outside of the storage system, such as management applications, client interfaces, etc., accounting for the large number of potential variations can be an arduous task.